home *** CD-ROM | disk | FTP | other *** search
- /* mac.c
-
- macintosh host
-
- */
-
- #include <stdio.h>
- #include "host.h"
- #include <string.h>
- #include <ctype.h>
- #include <setjmp.h>
- #include <errno.h>
-
- # ifdef THINK_C
- # include <console.h>
- #endif THINK_C
-
- char *curdir;
- char * getcwd();
- FILE * FOPEN();
-
- int CHDIR();
- int debuglevel; /* debugging level */
-
- #ifdef Upgrade
- long int systimeout = 0;
- #endif Upgrade
-
- #ifdef STANDALONE
- char *flds[10];
- char line[128];
-
- #define DMAILBOX "mailbox"
- #define DNAME ""
- #define DHOME "/usr/home/guest"
- #define DDOMAIN "mac.uucp"
- #define DMAILDIR "/usr/spool/mail"
- #define DCONFDIR "/usr/lib/uucp"
- #define DSPOOLDIR "/usr/spool/uucp"
- #define DPUBDIR "/usr/spool/uucppublic"
- #define DMAILSERVICE "crash"
- #define DNODENAME "shappy"
- #define DDEVICE "modem"
- #define DSPEED "2400"
- #define DTEMPDIR "/usr/tmp"
-
- FILE *fe;
-
- void sgenv(thename, envname, dflt)
- char **thename;
- char *envname;
- char *dflt;
- {
- char line[BUFSIZ];
-
- fprintf( stderr, "genv: %s %s\n", envname, dflt ); /**/
-
- if (fgets( line, BUFSIZ, fe ) == NULL) {
- fprintf( stderr, "genv: %s not found, using %s\n", envname, dflt ); /* */
- strcpy( *thename, dflt);
- }
- else {
- strcpy( *thename, line);
- fprintf( stderr, "genv: %s %s\n", envname, *thename ); /**/
- }
- }
-
- void sloadenv()
- {
- fprintf( stderr, "sloadenv\n" );
- if ( (fe = FOPEN( "/usr/lib/uucp/defaults", "r" )) == (FILE *) NULL ) {
- fprintf( stderr, "can't open /usr/lib/uucp/defaults %d\n", errno );
- exit( -1 );
- }
- fprintf( stderr, "sloadenv - fopened\n" );
- /* get environment var's */
- sgenv( &name, NAME, DNAME );
- sgenv( &mailbox, MAILBOX, DMAILBOX );
- sgenv( &nodename, NODENAME, DNODENAME );
- sgenv( &home, HOME, DHOME );
- sgenv( &domain, DOMAIN, DDOMAIN );
- sgenv( &maildir, MAILDIR, DMAILDIR );
- sgenv( &confdir, CONFDIR, DCONFDIR );
- sgenv( &spooldir, SPOOLDIR, DSPOOLDIR );
- sgenv( &pubdir, PUBDIR, DPUBDIR );
- sgenv( &mailserv, MAILSERVICE, DMAILSERVICE );
- sgenv( &device, DEVICE, DDEVICE );
- sgenv( &speed, SPEED, DSPEED );
- sgenv( &tempdir, TEMPDIR, DTEMPDIR );
- }
- #endif
-
- jmp_buf dcpexit;
-
- char *gets();
-
- main(argc, argv)
- int argc;
- char **argv; {
- char volname[255];
- int vrefnum;
-
- /* macinit() has to happen before ccomand in THINK_C cos ccomand
- * may change the current folder through redirected input comming from
- * a file that is not in the pcmail application folder. So open
- * resource file first
- */
- macinit();
-
- #ifdef THINK_C
- GetVol(volname, &vrefnum);
- # ifdef IMMEDEXIT
- console_options.pause_atexit = (short)0;
- # endif IMMEDEXIT
- argc = ccommand(&argv);
- SetVol(volname, vrefnum);
- #endif THINK_C
-
- #ifdef STANDALONE
- fprintf( stderr, "Please enter parameters: " );
- if ( gets( line ) == (char *) NULL )
- exit( -1 );
- getargs( line, flds );
- argv = flds;
- /* mac specific prolog */
- sloadenv();
- #else
- /* mac specific prolog */
- loadenv();
- #endif
-
-
- curdir = getcwd( NULL, 0 );
-
- #ifdef CWDSPOOL
- CHDIR( spooldir );
- #endif
-
- /* setup longjmp for error exit's */
- if ( setjmp( dcpexit ) == 0 ) {
-
- MAIN( argc, argv );
-
- }
-
-
- /* mac specific epilog */
- chdir( curdir );
- exit(0);
- }
-
-
-